package live.betterman.system.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhudawei
 * @since 2024-11-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SysMenu implements Serializable {


    @TableId("menu_id")
    private String menuId;

    private String name;

    private String path;

    @TableField("component_path")
    private String componentPath;

    @TableField("parent_id")
    private String parentId;

    /**
     * on or off
     */
    private String status;

    @TableField("keep_alive")
    private Boolean keepAlive;

    private String redirect;

    private Integer sort;

    private String meta;

    @TableField(exist = false)
    private List<SysMenu> children = new ArrayList<>();

    /**
     * 菜单是否可见
     * 该字段不对应数据库字段
     */
    @TableField(exist = false)
    private Boolean visible;
}
